The present invention relates to a method and circuit for processing dot matrix image data in a page printer, and more particularly to a method and circuit capable of efficiently utilizing a memory space and reducing processing time when processing dot matrix image data in a page printer using a band buffering system.
Generally, data of a dot matrix printer is easily processed in a page printer shown in FIG. 4. Referring to FIG. 4, the page printer has an engine 713 for printing an image, a controller 700 for controlling the engine 713, and a computer 715 for transferring various files to the controller 700. The controller 700 includes a central processing unit (CPU) 701 for controlling the whole part, an interface 711 connected to the CPU 701, the engine 713 and the computer 715, through serial and parallel ports 771 and 772, for transferring control signals and data, a key pad 707, a display unit 705, and a memory 703 for storing emulation data under the control of CPU 701. The memory 703 is divided into a ROM (Read Only Memory) in which an emulation program code is provided and a RAM (Random Access Memory) in which data is stored when the system is operating. The emulation program code consists of a kernel part for managing the whole resource of the controller 700 and an emulation program part for analyzing various printer control commands by the use of interface functions provided by the kernel part. Generally, since the kernel part is subjected to the system, it is positioned in the ROM. The emulation program is provided in the form of a cartridge in order to correspond to the various printer commands and the limited request by a user as well as the requirements for mutual processing by a page printer manufacturer.
In order to process the printing data of the dot matrix printer in the page printer, the data is accumulated in a given region, and the accumulated data is stored in a printing buffer of the memory 703 by the CPU 701 for the printing. The buffering method of the printing buffer is divided into full buffering and band buffering. In the full buffering system, a memory having the same size as the paper to be printed is provided in the printer. When the printing data fills the memory, the printing is performed. In the band buffering system, the printing position information in each band and a printing code corresponding thereto are linked, and the printing position information and printing code are moved into a predetermined region of a printer in order to be printed.
The band buffering system has been widely applied to video systems as disclosed in U.S. Pat. No. 4,679,038 of Bantz et al.
The printing method in the dot matrix printer is illustrated in FIG. 1. In the case of a 9-pin printer, one pin is hardly used and 8 pins are used in printing. That is, in order to print one line, N number of serial dot image data is simultaneously printed in the order of N0 to N3 through the vertical 8 pins of a head as shown in FIG. 1. However, the page printer checks the location of bits of the image data, in order to process the data of a 9-pin dot matrix printer, as shown in FIG. 2. Then dots having a value of 1 are connected from the position of the first pin as indicated in FIG. 3. In this case, the interval of one dot is calculated at 5/300 inches to form line segments. Each line segment has information such as a start point, an end point, a thickness of a line and the like, and a memory of about 10 bytes is needed for storing the above information.
The line segment information file is processed through a frame buffer in the full buffering system and through a symbolic buffer in the band buffering system.
In a conventional image data processing method for a dot matrix printer, a scanning process such as is shown in FIG. 2 is required. However, since the scanning process is processed in unit of line segments, the number of line segments is altered according to the length and form of image data and therefore the processing time is delayed. On the other hand, since one dot constitutes one line segment, if the number of line segment differs, the memory size is also altered, thus requiring further memories. As a result, the efficiency of memory use is lowered and thus there are disadvantages in the band buffering system. For example, when processing a dotted line having the same 10 dots, line segments are equal to the number of dots. At this time, even if a buffering system is used, since a memory size corresponding thereto is needed, it is difficult to save the memory space.